www.gusucode.com > 环保时代家庭财务管理系统 EPffms v4.0 > 环保时代家庭财务管理系统 EPffms v4.0\code\eptimehome\inc\Datelist_Class.asp
<% '**************************************************** 'Code for EptimeFFMS 'Vision : v3.0 '**************************************************** Class MainClass_DataList Public primaryField,tableStr Public orderStr,whereStr,dataSortType,fieldsStr,dataPageSize,dataCurrentPage Public recordsCount,pagesCount private tempTableCount,sqlstr,topCount,whereStr2,whereStr3 private m,n Public Sub Class_Initialize dataSortType = "desc" End Sub Public Sub Class_Terminate End Sub Public Function getDataList() dim order if isNul(dataPageSize) then dataPageSize = 100 else dataPageSize = cint(dataPageSize) if not isNul(whereStr) then whereStr= " where "&whereStr else whereStr="" if isNul(tableStr) then die err_table if isNul(fieldsStr) then fieldsStr = " * " else fieldsStr = " " & fieldsStr & " " if not isNul(orderStr) then order = " order by " & orderStr & " " & dataSortType else order=" " sqlstr = "select top " & dataPageSize & fieldsStr & " from " & tableStr & " " & whereStr & order getDataList = conn.db(sqlstr,"array") End Function Public Function getPageList() dim order if isNul(dataPageSize) then dataPageSize = 30 else dataPageSize = cint(dataPageSize) if not isNul(whereStr) then whereStr2 = " where "&whereStr : whereStr3 = " and "&whereStr else whereStr2="":whereStr3="" recordsCount = conn.db("select count(*) from "&tableStr&whereStr2,"array")(0,0) m = recordsCount mod dataPageSize n = int(recordsCount / dataPageSize) if m = 0 then pagesCount = n else pagesCount = n + 1 if isNul(primaryField) then die err_primarykey if isNul(tableStr) then die err_table if isNul(orderStr) then orderStr = primaryField if isNul(fieldsStr) then fieldsStr = " * " else fieldsStr = " " & fieldsStr & " " if dataCurrentPage > pagesCount then dataCurrentPage = pagesCount if isNul(dataCurrentPage) then dataCurrentPage = 1 else if dataCurrentPage <= 0 then dataCurrentPage = 1 else dataCurrentPage = cint(dataCurrentPage) end if order = " " & orderStr & " " & dataSortType if dataSortType = "desc" then if dataCurrentPage = 1 then sqlstr = "select top " & dataPageSize & fieldsStr & " from " & tableStr & " " & whereStr2 & " order by " & order else sqlstr = "select top " & dataPageSize & fieldsStr & " from " & tableStr & " where " & primaryField & "<(select min(" & primaryField & ") from (select top " & (dataCurrentPage - 1) * dataPageSize & " " & primaryField & " from " & tableStr &" "&whereStr2& " order by " & order & ") as temptable) "& whereStr3& " order by " & order end if else dataSortType = "asc" if dataCurrentPage = 1 then sqlstr = "select top " & dataPageSize & fieldsStr & " from " & tableStr & " " & whereStr2 & " order by " & order else sqlstr = "select top " & dataPageSize & fieldsStr & " from " & tableStr & " where " & primaryField & ">(select max(" & primaryField & ") from (select top " & (dataCurrentPage - 1) * dataPageSize & " " & primaryField & " from " & tableStr &" "& whereStr& " order by " & order & ") as temptable) "& whereStr3& " order by " & order end if end if getPageList = conn.db(sqlstr,"array") End Function End Class %>